package com.zsrt.day20161014;

import org.junit.Test;

/**
 * 在java中方法的使用：
 *    1：方法的定义
 *          任何方法都必须先定义 再调用 （例：如果想开车 必须先有一辆车，然后才能开）
 *          1.1 方法是自己写的 （相当于自己买车 然后在开车）
 *          1.2 方法是别人写好的：
 *                 （同1个项目组中 由架构师统一写好 可以看到源代码） 
 *                 （同1个行业中 有一些组织结构写好的 java API其他公司直接调用，一般都是.jar文件---.java文件压缩后的） 
 *          你只要调用就可以 （就相当于别人借车给你 你可以开）
 *     语法：
 *           1访问修饰符 public 共有的 表示所有的地方都可以用
 *          	    private 私有的 只能在大括号里面可以调用
 *           2返回值: 1. int short...int[]...
 *          	  2.如何没有返回值 重点：必须明确些void 表示这个方法没有返回值
 *           3方法的名称：参考变量的名称规则：add update delete  建议规则：以动词开头
 *          		例子：findNameById（）  findBirthdayByName（）
 *          		重点：方法不嫩故意大写字母开头 （有且只有构造方法才有资格大写，其他必须小写 ---行业规定）
 *           4（typeName variableName。。。）
 *                 typeName = 类型名称  ：包括  8大基本类型（int short byte 。。。），数组。对象
 *   			   variableName = 变量名称 可以自定义 必须遵循变量命名规则 
 *   			   例子：public int add(int x,int y){
 *   						//...
 *   					}
 *   				  public void add(int x){
 *   						//...
 *   					}
 *    2：方法的调用：
 *          在项目中的任何地方都可以调用方法 在类的里面 或者在别的类都可以调用 public   
 *          1.方法可以在主函数或者测试类中调用 也可以在其他方法中调用   
 *          2.调用的语法：
 *               直接写方法的名称  add
 *                2.1 如果没有参数 方法的名称后面直接接小括号 而且这个小括号不能省略 后面接分号  add（）;
 *                2.2 如果有参数 ： 此时必须给定参数具体的值 add(10,20); 10和20是实参
 */
/**
 * @author Administrator
 */
public class FunctionDemo {
	/**
	 * 重点： 方法的注释的格式参考如下标准 其余都是菜鸟所为
	 *    1.要先写方法 再写方法的注释 （先写方法 然后在方法上面输入/** 按回车直接出来如下注释）
	 *    2.必须在方法的注释中写明白你这个方法是干嘛的
	 *    3.推荐跟形参加上注释
	 *    4.推荐如果有返回值 写清楚返回值是什么
	 * @param x  被加数
	 * @param y  加数
	 * @param z  加数
	 * @return   被加数+加数+加数
	 */
	public int add(int x, int y ,int z){
		int sum = x+y+z;
		return sum;
	}
	
/**
 * 定义了1个加法  2个数相减
 * @param x 被加数
 * @param y 加数
 * @return  两个数之和
 */
	public int chaFunction(int x ,int y){
		int cha = x - y;
		return cha;
	}
	
	/**
	 * 定义了1个乘法  2个数相乘
	 * @param x
	 * @param y
	 * @return
	 */
	public int chengFunction(int x ,int y){
		int cheng = x * y;
		return cheng;
	}
	
	/**
	 * 定义了1个除法  2个数相除
	 * @param x 被除数
	 * @param y 除数
	 * @return 两数相除的商
	 */
	public double chuFunction(int x ,int y){
		double chu = x / y;
		return chu;
	}
	/**
	 * 2个数q求模
	 * @param x 被除数
	 * @param y 除数
	 * @return 两数相除取余数
	 */
	public int moFunction(int x ,int y){
		int mo = x % y;
		return mo;
	}
	
	@Test
	public void diaoyongFunction(){
		int a =20;
		int b = 10;
		int cha = chaFunction(a,b);
		int cheng = chengFunction(a,b);
		double chu = chuFunction(a,b);
		int mo = moFunction(a,b);
		System.out.println(cha);
		System.out.println(cheng);
		System.out.println(chu);
		System.out.println(mo);
		
	}

}
